Estoy pidiendo ayuda para encontrar la suma de una matriz con elementos que se enviaron desde una variable de contador que se había repetido previamente 10 veces. Soy nuevo en Javascript y estaba practicando para una evaluación, y probé varias formas diferentes de hacerlo y solo obtuve una lista de los elementos dentro de la matriz de números.
var counter = 10; var numbers = []; for (i = 1; i <= 10; i ++) { counter = [i + 73]; numbers.push(counter); } console.log(numbers); function sum(arr) { var s = 0; for(var i = 0; i < arr.length; i++) { s = s += arr[i]; } return s; } console.log(sum([numbers])); function getArraySum(a) { var total = 0; for (var i in a) { total += a[i]; } return total; } var numbers = getArraySum([numbers]); console.log(numbers);debe presionar solo el valor del contador sin los corchetes y luego hacer una reducción para tener la suma de cada número en la matriz
var counter = 10; var numbers = []; for (i = 1; i <= 10; i++) { counter = i + 73; numbers.push(counter); } console.log(numbers.reduce((a,b) => a+b));Tuviste un par de errores tipográficos en el código:
counter = [i + 73];Solo debes quitar los corchetes como:
counter = i + 73; sum( [numbers] ) // ... getArraySum( [numbers] );Debes quitar los corchetes, así:
sum( numbers ); // ... getArraySum( numbers );Actualicé el código que compartiste para arreglar las cosas mencionadas anteriormente:
var numbers = []; // Loop 10 times and push each number to the numbers array for (var i = 1; i <= 10; i ++) { var sumNumbers = i + 73; numbers.push(sumNumbers); } console.log(numbers); function sum(arr) { var total = 0; for(var i = 0; i < arr.length; i++) { total += arr[i]; } return total; } // Call the function by passing it the variable numbers, holding an array var result1 = sum(numbers); console.log( result1 ); function getArraySum(a) { var total = 0; for (var i in a) { total += a[i]; } return total; } var result2 = getArraySum(numbers); console.log(result2);